package com.matu.domain;

import java.util.ArrayList;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;

/**
 * Permet de définir les personnels de l'université
 * @author matu
 */
@JsonIgnoreProperties({"id", "revision"})
public class Personnel {
	
	@JsonProperty("_id")
    private String id;

    @JsonProperty("_rev")
    private String revision;
    
    private String nom;
    private String password;
    private ArrayList<Ligne> listLignes;
    
    
    /**
     * Constructeur par défaut
     */
    public Personnel() {
    	
    }
    
    
    /**
     * Constucteur
     * @param pNom
     * @param pPassword
     */
    public Personnel(String pNom, String pPassword) {
    	nom = pNom;
    	password = pPassword;
    	listLignes = new ArrayList<Ligne>();
    }
    
    
    
    /**
     * Indique si un personnel a déjà liker ou 
     * unliker une ligne
     * @param ligne
     * @return vrai ou faux
     */
    public boolean isLiked(Ligne ligne) {
    	
    	for (Ligne l : listLignes) {
    		if (l.getId().equals(ligne.getId())) {
    			return true;
    		}
    	}
    	
    	return false;
    }
    
    
    /**
     * Ajoute une ligne à la la liste de lignes
     * @param ligne
     */
    public void addLigne(Ligne ligne) {
    	listLignes.add(ligne);
    }
    
    
	/**
	 * GET&SET
	 */

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setRevision(String rev) {
        revision = rev;
    }
    
    public String getRevision() {
        return revision;
    }

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
	public ArrayList<Ligne> getListLignes() {
		return listLignes;
	}
}
